package com.qqtech.qquan.mall.dao;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.qqtech.core.frame.dao.BaseDao;
import com.qqtech.qquan.mall.model.MallShopCategory;
import com.qqtech.qquan.mall.model.MallShopCategoryVo;

public interface MallShopCategoryDao extends BaseDao<MallShopCategory> {
	
	/**
	 * 根据分类id获取
	 * @param categoryId
	 * @return
	 */
	public MallShopCategoryVo getByCategoryId(java.lang.String categoryId);
	
	/**
	 * 获取oidx的最大值
	 * @param mallCategory
	 * @return
	 */
	public Integer getMaxOidx(MallShopCategory mallShopCategory);
	
	/**
	 * 获取categoryId的所有上级分类
	 * @param categoryId
	 * @return
	 */
	public List<MallShopCategoryVo> findAllParent(String categoryId);
	
	/**
	 * 更新
	 * @param entity
	 * @return
	 */
	public int updateByCategoryId(MallShopCategory entity);
	
	/**
	 * 后台查询，同时查出父级
	 * @param query
	 * @param pageable
	 * @return
	 */
	public Page<MallShopCategoryVo> queryPageListAdmin(MallShopCategory query, Pageable pageable);
	
	/**
	 * 查询记录数
	 * 
	 * @param query
	 *            查询对象，如果为null，则查询对象总数
	 * @return int 记录总数
	 */
	public int queryAdminCount(MallShopCategory query);
	
	/**
	 * 查询店铺正在用的分类
	 * @param communityId 社区id
	 * @param style 店铺种类:1-邻里店,2-社区店铺
	 * @return
	 */
	public List<MallShopCategoryVo> findByShop(Integer communityId, Integer style);
}
